﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Graphics;

namespace DDOS
{
    class ImageManager2D
    {
        private static ImageManager2D instance;
        public static ImageManager2D Instance { get { return instance; } }

        private Texture2D whiteBox;
        public Texture2D WhiteBox { get { return whiteBox; } }

        private Texture2D placeholder;
        public Texture2D Placeholder { get { return placeholder; } }

        private Texture2D placeholder2;
        public Texture2D Placeholder2 { get { return placeholder2; } }

        private Texture2D player;
        public Texture2D Player { get { return player; } } 

        private Texture2D logo;
        public Texture2D Logo { get { return logo; } }

        private Texture2D spotlight;
        public Texture2D Spotlgiht { get { return spotlight; } }

        private Texture2D mainmenu;
        public Texture2D MainMenu { get { return mainmenu; } }

        private Texture2D bottomconsole;
        public Texture2D BottomConsole { get { return bottomconsole; } }

        private Texture2D leftconsole;
        public Texture2D LeftConsole { get { return leftconsole; } }

        private Texture2D rightconsole;
        public Texture2D RightConsole { get { return rightconsole; } }

        private Texture2D levelbackground1;
        public Texture2D LevelBackground1 { get { return levelbackground1; } }

        private Texture2D levelbackground2;
        public Texture2D LevelBackground2 { get { return levelbackground2; } }

        private Texture2D minion;
        public Texture2D Minion { get { return minion; } }

        private Texture2D enemy;
        public Texture2D Enemy { get { return enemy; } }

        private Texture2D wall;
        public Texture2D Wall { get { return wall; } }

        private Texture2D wall_vertical;
        public Texture2D Wall_Vertical { get { return wall_vertical; } }

        private Texture2D wall2;
        public Texture2D Wall2 { get { return wall2; } }

        private Texture2D wall2_vertical;
        public Texture2D Wall2_Vertical { get { return wall2_vertical; } }

        private Texture2D projectile;
        public Texture2D Projectile { get { return projectile; } }

        private Texture2D boss;
        public Texture2D Boss { get { return boss; } }

        private Texture2D explosion;
        public Texture2D Explosion { get { return explosion; } }

        private Texture2D animated_player;
        public Texture2D Animated_Player { get { return animated_player; } }

        private Texture2D hole;
        public Texture2D Hole { get { return hole; } }

        private Texture2D database;
        public Texture2D Database { get { return database; } }

        private Texture2D database_selected;
        public Texture2D DatabaseSelected { get { return database_selected; } }

        private Texture2D ie;
        public Texture2D IE { get { return ie; } }

        private Texture2D ie_selected;
        public Texture2D IESelected { get { return ie_selected; } }

        private Texture2D normal_folder;
        public Texture2D NormalFolder { get { return normal_folder; } }

        private Texture2D folder_selected;
        public Texture2D FolderSelected { get { return folder_selected; } }

        private Texture2D worldmap;
        public Texture2D WorldMap { get { return worldmap; } }

        private Texture2D google;
        public Texture2D Google { get { return google; } }

        private Texture2D facebook;
        public Texture2D Facebook { get { return facebook; } }

        private Texture2D microsoft;
        public Texture2D Microsoft { get { return microsoft; } }

        private Texture2D yahoo;
        public Texture2D Yahoo { get { return yahoo; } }

        private Texture2D googles;
        public Texture2D Googles { get { return googles; } }

        private Texture2D facebooks;
        public Texture2D Facebooks { get { return facebooks; } }

        private Texture2D microsofts;
        public Texture2D Microsofts { get { return microsofts; } }

        private Texture2D yahoos;
        public Texture2D Yahoos { get { return yahoos; } }

        private Texture2D apple;
        public Texture2D Apple { get { return apple; } }

        private Texture2D apples;
        public Texture2D Apples { get { return apples; } }

        private Texture2D bullet;
        public Texture2D Bullet { get { return bullet; } }

        private Texture2D terminal;
        public Texture2D Terminal { get { return terminal; } }

        private Texture2D ddoslogo;
        public Texture2D DdosLogo { get { return ddoslogo; } }

        private Texture2D tray;
        public Texture2D Tray { get { return tray; } }

        private Texture2D buttonNormal;
        public Texture2D ButtonNormal { get { return buttonNormal; } }

        private Texture2D buttonClicked;
        public Texture2D ButtonClicked { get { return buttonClicked; } }

        private Texture2D buttonSelected;
        public Texture2D ButtonSelected { get { return buttonSelected; } }

        private Texture2D panel;
        public Texture2D Panel { get { return panel; } }

        public static void Initialize(Game game)
        {
            instance = new ImageManager2D();
            instance.whiteBox = game.Content.Load<Texture2D>("Images/White");
            instance.placeholder = game.Content.Load<Texture2D>("Images/placeholder");
            instance.placeholder2 = game.Content.Load<Texture2D>("Images/placeholder2");
            instance.logo = game.Content.Load<Texture2D>("Images/logo");
            instance.spotlight = game.Content.Load<Texture2D>("Images/spotlight");
            instance.mainmenu = game.Content.Load<Texture2D>("Images/mainmenu");
            instance.bottomconsole = game.Content.Load<Texture2D>("Images/bottomconsole");
            instance.leftconsole = game.Content.Load<Texture2D>("Images/leftconsole");
            instance.rightconsole = game.Content.Load<Texture2D>("Images/rightconsole");
            instance.levelbackground1 = game.Content.Load<Texture2D>("Images/level_background1");
            instance.levelbackground2 = game.Content.Load<Texture2D>("Images/level_background2");
            instance.levelbackground1 = game.Content.Load<Texture2D>("Images/level_background1");
            instance.levelbackground2 = game.Content.Load<Texture2D>("Images/level_background2");
            instance.player = game.Content.Load<Texture2D>("Images/player_one_3");
            instance.minion = game.Content.Load<Texture2D>("Images/minion2");
            instance.enemy = game.Content.Load<Texture2D>("Images/enemy_zero2");
            instance.wall = game.Content.Load<Texture2D>("Images/wall_1");
            instance.wall_vertical = game.Content.Load<Texture2D>("Images/wall_1_vertical");
            instance.wall2 = game.Content.Load<Texture2D>("Images/wall_2");
            instance.wall2_vertical = game.Content.Load<Texture2D>("Images/wall_3");
            instance.boss = game.Content.Load<Texture2D>("Images/boss_eye_trans");
            instance.explosion = game.Content.Load<Texture2D>("Images/explosion_trans");
            instance.projectile = game.Content.Load<Texture2D>("Images/projectile_one_trans");
            instance.animated_player = game.Content.Load<Texture2D>("Images/player_one_animation");
            instance.hole = game.Content.Load<Texture2D>("Images/hole");
            instance.database = game.Content.Load<Texture2D>("Images/database");
            instance.database_selected = game.Content.Load<Texture2D>("Images/Database_Selected");
            instance.normal_folder = game.Content.Load<Texture2D>("Images/normal_folder");
            instance.folder_selected = game.Content.Load<Texture2D>("Images/folder_selected");
            instance.ie = game.Content.Load<Texture2D>("Images/ie");
            instance.ie_selected = game.Content.Load<Texture2D>("Images/ie_selected");
            Instance.worldmap = game.Content.Load<Texture2D>("Images/world-map");
            Instance.google = game.Content.Load<Texture2D>("Images/Google");
            Instance.googles = game.Content.Load<Texture2D>("Images/GoogleSelected");
            Instance.yahoo = game.Content.Load<Texture2D>("Images/Yahoo");
            Instance.yahoos = game.Content.Load<Texture2D>("Images/YahooSelected");
            Instance.microsoft = game.Content.Load<Texture2D>("Images/microsoft");
            Instance.microsofts = game.Content.Load<Texture2D>("Images/MicrosoftSelected");
            Instance.facebook = game.Content.Load<Texture2D>("Images/Facebook");
            Instance.facebooks = game.Content.Load<Texture2D>("Images/FacebookSelected");
            Instance.apple = game.Content.Load<Texture2D>("Images/Apple");
            Instance.apples = game.Content.Load<Texture2D>("Images/AppleSelected");
            instance.bullet = game.Content.Load<Texture2D>("Images/projectile_one_trans");
            instance.terminal = game.Content.Load<Texture2D>("Images/terminal_background");
            instance.ddoslogo = game.Content.Load<Texture2D>("Images/ddosLogo");
            instance.tray = game.Content.Load<Texture2D>("Images/tray");
            instance.buttonNormal = game.Content.Load<Texture2D>("Images/buttoneNormal");
            instance.buttonClicked = game.Content.Load<Texture2D>("Images/buttonClicked");
            instance.buttonSelected = game.Content.Load<Texture2D>("Images/buttonSelected");
            instance.panel = game.Content.Load<Texture2D>("Images/panel");
        }
    }
}
